package orm

// 数据库表的orm模型
type Api struct {
	table     string   // 表名
	fields    []string // 所有字段
	where     [][]interface{}
	order     string
	limit     int
	offset    int
	join      [][]interface{}
	distinct  bool
	group     string
	having    string
	data      interface{}
	force     bool
	extraCols []string
	// 悲观锁
	pessimisticLock string
}

// GetTable ...
func (p *Orm) GetTable() string {
	return p.table
}

// GetFields ...
func (p *Orm) GetFields() []string {
	return p.fields
}

// SetWhere ...
func (p *Orm) SetWhere(arg [][]interface{}) {
	p.where = arg
}

// GetWhere ...
func (p *Orm) GetWhere() [][]interface{} {
	return p.where
}

// GetOrder ...
func (p *Orm) GetOrder() string {
	return p.order
}

// GetLimit ...
func (p *Orm) GetLimit() int {
	return p.limit
}

// GetOffset ...
func (p *Orm) GetOffset() int {
	return p.offset
}

// GetJoin ...
func (p *Orm) GetJoin() [][]interface{} {
	return p.join
}

// GetDistinct ...
func (p *Orm) GetDistinct() bool {
	return p.distinct
}

// GetGroup ...
func (p *Orm) GetGroup() string {
	return p.group
}

// GetHaving ...
func (p *Orm) GetHaving() string {
	return p.having
}

// GetData ...
func (p *Orm) GetData() interface{} {
	return p.data
}

// GetForce ...
func (p *Orm) GetForce() bool {
	return p.force
}

// GetExtraCols ...
func (p *Orm) GetExtraCols() []string {
	return p.extraCols
}

// GetPessimisticLock ...
func (p *Orm) GetPessimisticLock() string {
	return p.pessimisticLock
}
